package file;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

@SuppressWarnings({"all"})
public class Demo8 {
    public static void main(String[] args) {
//        // 构造方法中需要指定打开文件的路径
//        InputStream inputStream = null;
//        try {
//            // 1. 创建对象，同时也是在打开文件
//            inputStream = new FileInputStream("d://tst.txt");
//            // 2. 尝试一个一个字节的读，把整个文件读完
//            while (true) {
//                int b = inputStream.read();
//                if (b == -1)
//                    break;
//                System.out.println(b);
//            }
//
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        } finally {
//            // 3. 读完之后要记得关闭文件，释放资源
//            try {
//                inputStream.close();
//            } catch (IOException e) {
//                throw new RuntimeException(e);
//            }
//        }

//        try (InputStream inputStream = new FileInputStream("d:/test.txt")){
//            while (true) {
//                int b = inputStream.read();
//                if (b == -1) {
//                    break;
//                }
//                System.out.println(b);
//            }
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }
        try (InputStream inputStream = new FileInputStream("d:/test.txt")){
            // 一次读取若干个字符
            while (true) {
                byte[] buffer = new byte[1024];
                int len = inputStream.read(buffer);
                if (len == -1) {
                    // 如果返回-1 就读完了
                    break;
                }
                for (int i = 0; i < len; i++) {
                    System.out.println(buffer[i]);
                }
            }

        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
